<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
//引入question
use App\Admin\Paper;

//引入excel
use Excel;
//引入input
use Input;
class PaperController extends Controller
{
    //列表操作
    public function index(){
    	//查询全部的数据
    	$data = Paper::where('isdel','=','2')->get();
    	//展示视图
    	return view('admin.Paper.index',compact('data'));
    }

    //导出方法
    public function export(){
    	//定义的测试的数据（二维数组）
     	$data = Paper::all();
     	//定制表头
     	$cellData[] = ['序号','类型','问题','答案','分值','添加时间'];
     	foreach ($data as $key => $value) {
     		//拼凑数据
     		$cellData[] = [
                        $value -> category_id,
     					$value -> category->category_name,
     					$value -> question,
     					$value -> answer,
     					$value -> goal,
     					$value -> addtime,
                        $value -> isdel
  					];
     	}
        //创建excel文件（文件名,excel的实例 use 需要使用的数据）
        Excel::create(sha1(time() . rand(1000,9999)),function($excel) use ($cellData){
        	//创建工作表（工作表名称,工作表的实例 use 需要使用的数据）
            $excel->sheet('题库', function($sheet) use ($cellData){
            	//行数据
                $sheet -> rows($cellData);
            });
        }) -> export('xls');
    }

    //导入方法
    public function import(){
    	//判断请求类型
    	if(Input::method() == 'POST'){
    		//写入数据表（读取文件中的数据，然后再去写入数据表）
			//定义文件的路径
		    //$filePath = 'storage/exports/'.iconv('UTF-8', 'GBK', '学生成绩').'.xls';
		    $filePath = '.' . Input::get('excelfile');
		    //使用excel的load方法载入文件
		    Excel::load($filePath, function($reader) {
		        // $data = $reader -> all();
		        $data = $reader -> getSheet(0) -> toArray();//获取当前文件中的第1个工作表的数据
		        //进一步的处理，写入数据表
		        foreach ($data as $key => $value) {
		        	//第一个记录是表头所以跳过
		        	if($key == '0'){
		        		continue;
		        	}
		        	//对于记录进行处理
		        	$cellData[] = [
		        		'category_id'		=>	$value[0],	//
		        		'goal'			=>	$value[4],	//分值
		        		'question'		=>	$value[2],	//选项
		        		'answer'		=>	$value[3],	//答案
		        		'addtime'	=>  date('Y-m-d H:i:s'),	
                        //当前时间
                        'isdel' => $value[6]
		        	];
		        }
		        //插入数据
		        $rst = Paper::insert($cellData);
		        echo $rst ? '1' : '0';
		    });
    	}else{
    		//获取当前的试卷的选项
	    	$paper = \App\Admin\Paper::all();
	    	//展示视图
	    	return view('admin.paper.import',compact('paper'));
    	}
    }

    public function add(){
        if(Input::method() == 'POST'){
            //写一些必要的验证
            $data = Input::except('_token');
            $data['isdel'] = '2';
            $data['addtime'] = date('Y-m-d H:i:s');
            $result = Paper::insert($data); //布尔值
            //需要返回添加结果
            return $result ? '1' : '0';
        }else{
            //展示视图
            $category = \App\Admin\Category::all();
            return view('admin.paper.add',compact('category'));
        }
    }

    public function edit(){
        if(Input::method() == 'POST'){
            //写一些必要的验证
            $data = Input::except('_token','updated_at');
            
            $result = Paper::where('id',$data['id'])->update($data);
            //需要返回添加结果
            return $result ? '1' : '0';
        }else{
            //展示视图
            $category = \App\Admin\Category::all();
            $id = $_GET['id'];  
            $data = Paper::where('id','=',$id)->get();
            return view('admin.paper.edit',compact('data','category'));
        }
    }


    public function del(){
        $id = $_GET['id'];  
        $info = Paper::where('id','=',$id)->update(['isdel'=>1]);
        return $info ? '1' : '0';
    }



    public function  delMore(){
        $id = input::get('id');
        $str = explode(",",$id);
        foreach($str as $v){
            Paper::where('id',"=","$v")->update(['isdel'=>'1']);
        }
                
    } 


}
